Controlling driving condition components of an autonomous vehicle based on a current driving mode and current conditions

ABSTRACT

A method for controlling a driving condition component of an autonomous vehicle is presented. The method includes determining whether current conditions would limit a driver&#39;s visibility. The method also includes predicting whether the driver will enable a manual mode during the current conditions. The method further includes controlling the driving condition component to mitigate the current conditions prior to the driver enabling the manual mode.

BACKGROUND Field

Certain aspects of the present disclosure generally relate tocontrolling driving condition components and, more particularly, to asystem and method for controlling driving condition components of anautonomous vehicle based on a current driving mode and currentconditions.

Background

Vehicles include various components, such as a heater, an airconditioner (AC), windshield wipers, and a window defroster, to improvea passenger's comfort and driving conditions. Different vehicles mayhave different interfaces for the components. Therefore, when entering anew vehicle, a passenger may be unfamiliar with the interface. In someconventional vehicles, driving condition components, such as windshieldwipers and window defrosters, are enabled when the vehicle detects atrigger condition, such as rain, snow, or foggy windows.

For non-autonomous vehicles (e.g., manually operated vehicles), drivingcondition components may be enabled in response to a trigger to improvedriving conditions for a driver. In contrast, for an autonomous vehicle,the driving condition components may be limited to improving passengercomfort. That is, driving condition components are not used to improvedriving conditions when the vehicle is autonomously operated.Nonetheless, as some autonomous vehicles may be manually operated, thereis a need to improve driving condition components for autonomousvehicles.

SUMMARY

In one aspect of the present disclosure, a method for controlling adriving condition component of an autonomous vehicle is disclosed. Themethod includes determining whether current conditions would limit adriver's visibility. The method also includes predicting whether thedriver will enable a manual mode during the current conditions. Themethod further includes controlling the driving condition component tomitigate the current conditions prior to the driver enabling the manualmode.

In another aspect of the present disclosure, a non-transitorycomputer-readable medium with non-transitory program code recordedthereon is disclosed. The program code is for controlling a drivingcondition component of an autonomous vehicle. The program code isexecuted by a processor and includes program code to determine whethercurrent conditions would limit a driver's visibility. The program codealso includes program code to predict whether the driver will enable amanual mode during the current conditions. The program code furtherincludes program code to control the driving condition component tomitigate the current conditions prior to the driver enabling the manualmode.

Another aspect of the present disclosure is directed to an apparatus forcontrolling a driving condition component of an autonomous vehicle. Theapparatus having a memory and one or more processors coupled to thememory. The processor(s) is configured to determine whether currentconditions would limit a driver's visibility. The processor(s) is alsoconfigured to predict whether the driver will enable a manual modeduring the current conditions. The processor(s) is further configured tocontrol the driving condition component to mitigate the currentconditions prior to the driver enabling the manual mode.

This has outlined, rather broadly, the features and technical advantagesof the present disclosure in order that the detailed description thatfollows may be better understood. Additional features and advantages ofthe present disclosure will be described below. It should be appreciatedby those skilled in the art that this present disclosure may be readilyutilized as a basis for modifying or designing other structures forcarrying out the same purposes of the present disclosure. It should alsobe realized by those skilled in the art that such equivalentconstructions do not depart from the teachings of the present disclosureas set forth in the appended claims. The novel features, which arebelieved to be characteristic of the present disclosure, both as to itsorganization and method of operation, together with further objects andadvantages, will be better understood from the following descriptionwhen considered in connection with the accompanying figures. It is to beexpressly understood, however, that each of the figures is provided forthe purpose of illustration and description only and is not intended asa definition of the limits of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, nature, and advantages of the present disclosure willbecome more apparent from the detailed description set forth below whentaken in conjunction with the drawings in which like referencecharacters identify correspondingly throughout.

FIGS. 1A, 1B, and 1C illustrate examples of interfaces for controllingcomfort components and driving condition components according to aspectsof the present disclosure.

FIG. 2 illustrates an example of a flow diagram for controlling drivingcondition components of a vehicle based on a predicted driving mode andcurrent conditions according to aspects of the present disclosure.

FIG. 3 illustrates an example of enabling a driving condition componentbased on a predicted manual operation according to aspects of thepresent disclosure.

FIG. 4 is a diagram illustrating an example of a hardware implementationfor a driving component system according to aspects of the presentdisclosure.

FIG. 5 illustrates a flow diagram for a method of controlling a drivingcondition component according to aspects of the present disclosure.

DETAILED DESCRIPTION

The detailed description set forth below, in connection with theappended drawings, is intended as a description of variousconfigurations and is not intended to represent the only configurationsin which the concepts described herein may be practiced. The detaileddescription includes specific details for the purpose of providing athorough understanding of the various concepts. It will be apparent tothose skilled in the art, however, that these concepts may be practicedwithout these specific details. In some instances, well-known structuresand components are shown in block diagram form in order to avoidobscuring such concepts.

Vehicles include various driving condition components and comfortcomponents, such as a heater, an air conditioner (AC), and a defrosterto improve passenger comfort and/or driving conditions. The interfacefor the components may vary among vehicle brands, as well as amongvehicles within a same brand. Due to the diversity in interfaces, apassenger may be unfamiliar with an interface when entering a newvehicle. Additionally, in ride share vehicles, such as a taxi, thepassenger typically sits in one of the rear seats, thereby limitingtheir access to the interface.

FIGS. 1A, 1B, and 1C illustrate examples of different interfaces 100,120, 140 for components of a first vehicle, second vehicle, and thirdvehicle. As shown in FIGS. 1A, 1B, and 1C, the layout of the interfaces100, 120, 140 is different in each vehicle. For example, as shown inFIG. 1A, the interface 100 includes an air direction controller 102, atemperature controller 104, an auto climate controller 106, a fan speedcontroller 108, a front defrost controller 110, and a rear defrostcontroller 112.

In another example, as shown in FIG. 1B, the interface 120 includes atouchscreen 122. The interface 120 of the second vehicle includes an airdirection controller 124, an auto climate controller 126, a fan speedcontroller 128, a front defrost controller 134, and a rear defrostcontroller 132. The interface 120 of the second vehicle does not includea temperature controller. Although the temperature controller may beaccessible via one of the screens displayed on the touchscreen 122, itmay be difficult for a passenger to find the temperature controller ifit is their first time in the second vehicle.

In another example, as shown in FIG. 1C, the interface 140 of the thirdvehicle includes an air direction controller 142, a temperaturecontroller 144, an auto climate controller 146, a fan speed controller148, a front defrost controller 150, and a rear defrost controller 152.As shown in FIG. 1C, the interface 140 of the third vehicle is differentfrom the interfaces 100, 120 of the first and second vehicles.Additionally, as shown in FIG. 1B, the interface 120 of the secondvehicle is different from the interfaces 100, 140 of the first and thirdvehicles.

When a vehicle is manually operated, environmental conditions (e.g.,rain or snow) or cabin conditions (e.g., foggy windows) may reducevisibility. Specifically, the environmental conditions and/or cabinconditions may obstruct a driver's view from one or more windows, suchas the windshield. As such, a controller to enable driving conditioncomponents, such as window defroster or windshield wipers, should bereadily accessible to the driver. Because each vehicle may have adifferent interface 100, 120, 140, it may be difficult for a driver toadjust driving condition components.

In some conventional vehicles, driving condition components, such aswindshield wipers and window defrosters, are activated when a sensordetects a trigger condition, such as rain or foggy windows. For example,a rain sensor on a windshield may detect water and activate thewindshield wipers. As another example, a window sensor or an internalvision sensor may detect a foggy window and activate a window defroster.

Enabling driving condition components in response to a trigger improvesdriving conditions during manual operation. Still, autonomous vehiclesare operated based on data captured from multiple sensors, such as radiodetection and ranging (RADAR), light detection and ranging (LIDAR),red-green-blue (RGB) cameras, and other types of sensors. For improvedvisibility, the sensors may be defined on exterior portions of thevehicle, such as the roof, front bumper, rear bumper, side mirrors,front grill, etc. As such, during autonomous operation, the drivingcondition components may not affect the vehicle's ability to navigatethrough an environment.

To improve battery life and to reduce wear and tear, during autonomousoperation, driving condition components may not be activated in responseto environmental conditions and/or cabin conditions. Nonetheless, thedriving condition components may still be manually controlled by apassenger. For example, a passenger may defrost a window to view thevehicle's surroundings.

Autonomous vehicles may operate in an autonomous mode or a manual mode.In the manual mode, a human driver manually operates the vehicle. Insome cases, due to environmental and/or cabin conditions, the windowsmay not be clear. Thus, it may be unsafe to transition from theautonomous mode to the manual mode. There is a need to improveautonomous vehicles by providing a system to anticipate manual operationand mitigate environmental and/or cabin conditions (e.g., unclearwindows) prior to the manual operation.

Aspects of the present disclosure are directed to controlling drivingcondition components of an autonomous vehicle based on a predicteddriving mode and current conditions. As a result, the windows arecleared prior to manual operation and power consumption is reducedduring autonomous operation. The autonomous vehicle may be amobility-as-a-service (MAAS) vehicle (e.g., ride share vehicle) or apersonally owned vehicle. The autonomous vehicle includes a manual modefor manual operation by a human driver. The autonomous vehicle may bereferred to as a vehicle.

FIG. 2 illustrates an example of a flowchart 200 for controlling drivingcondition components of a vehicle based on a predicted driving mode andcurrent conditions. As shown in FIG. 2, at block 202, the vehicle isoperated in an autonomous mode. In an optional configuration, at block204, a driving condition system determines if the vehicle is occupied.The vehicle's occupancy may be determined from one or more sensors, suchas an internal vision sensor (e.g., RGB camera) for capturing anoccupant's image, a seat pressure sensor for sensing an occupant on aseat, a door sensor for sensing the opening and closing of a door, orother sensors. If the vehicle is not occupied, the operation ends (block212).

If the vehicle is occupied, the driving condition system determines ifthe current conditions are likely to cause unsafe driving conditionsduring manual operation (block 206). The current conditions includecabin conditions (e.g., foggy windows) and/or environmental conditions(e.g., rain). One or more sensors may be used to detect the currentconditions. For example, a vision sensor may identify foggy windows orrain. As another example, a moisture sensor may also be used to detectrain or foggy windows.

The current conditions may also include potential cabin conditionsand/or potential environmental conditions. For example, internal sensorsmay measure cabin humidity and/or temperature, and external sensors maymeasure external temperature and/or humidity. The driving conditionsystem may determine a potential condition that is based on the currentexternal and internal measurements. For example, based on the internalhumidity, internal temperature, and external temperature, the drivingcondition system may identify a potential for foggy windows. The drivingcondition system may also determine a possibility of environmentalconditions, such as rain or snow, based on weather reports, humidity,temperature, etc.

If the current conditions cause unsafe conditions for manual operation(e.g., reduced visibility), the driving condition system predictswhether the driver is likely to enable the manual mode during thecurrent conditions (block 208). Based on weather data and sensor data,the driving condition system determines a duration for the currentconditions. The driving condition system predicts a likelihood of thedriver enabling the manual mode based on the passenger's known drivinghabits, a reservation type, a distance to a destination, resources(e.g., battery level), environmental factors, road hazards, unmappedareas, out-of-date maps, sensor failure conditions, etc. That is, theprediction may be based on areas where the vehicle may stall during theautonomous operation. The prediction is also based on the passenger'sdriving habits.

In one example, a personal vehicle may be driven by multiple drivers. Afirst driver may prefer autonomous operation and a second driver mayprefer manual operation. In this example, the driving condition systemidentifies the current driver to determine the likelihood of the driverenabling manual operation. Specifically, if the second driver iscurrently driving, the driving condition system determines there is anincreased likelihood of manual operation. As another example, for anMAAS vehicle, a passenger may reserve the vehicle for manual operationor autonomous operation. The type of reservation may be used todetermine whether the passenger will enable manual operation. In thenoted examples, the vehicle may be in an autonomous mode. Still, thedriver may have indicated a preference for manual operation. Thus, theprediction may be based on the indicated preference.

As discussed, the prediction may be based on areas where the vehicle maystall during the autonomous operation. The stall factors may include lowresources (e.g., battery), wireless signal strength being less than athreshold, environmental conditions, road hazards, unmapped areas,out-of-date maps, accidents, sensor failure conditions, etc. In oneexample, if the battery level is less than a threshold, the vehicle mayswitch to a gas engine backup. In this example, to conserve batterypower, the autonomous operation may switch to the manual operation.

As another example, the vehicle may stall in areas with potential sensorfailure conditions. For example, vehicle sensors (e.g., cameras) used todetect traffic light colors may fail to detect a color if an angle ofthe sun is within a certain range. As another example, LIDAR sensors maynot function in rain or fog. In yet another example, the vehicle maylose track of its position if the route includes areas with limitedsignals or no signals, such as a tunnel. The signals may includedifferent communication signals, such as a global positioning system(GPS) signal, a wireless Internet signal, a cellular signal, etc.

The stall factors may also include environmental conditions. For thesensors, such as a camera, the driving condition system may determinebacklight conditions, vehicle direction, traffic light locations,intersection arrival times, an angle of sun, weather, buildinginformation (e.g., whether buildings block the sun), etc. Theaforementioned information, such as the sun's angle, may be included inthe vehicle's stored map data. The information may also be obtained fromthe Internet or other data sources.

For a LIDAR sensor, and other sensors, weather conditions, such ashumidity, may cause sensor failure. Thus, the driving condition systemmay estimate various weather conditions, such as humidity, based onavailable weather information. The driving condition system may alsoconsider the time of day and/or the travel duration. For a GPS sensor,and other sensors, a weak signal or an interrupted signal may causesensor failure. Thus, the driving condition system may estimate signalstrength for a route. The signal strength may be estimated based on, forexample, building information (e.g., height and location), tunnellocations, terrain information (e.g., a height of surroundingmountains), a number of satellites, satellite positions, a number ofcell towers, a number of WiFi transceivers, etc. The information may bestored in the map data.

In one configuration, the driving condition system determines if a stallfactor is greater than or less than a threshold. For example, if theamount of rain is greater than a rain threshold, the rain is determinedto be a stall factor. If the rain is less than a threshold, the rain isnot considered a stall factor. In another example, if buildings and/orsurrounding environmental features cause a cellular signal to be lessthan a threshold, the buildings and/or surrounding environmentalfeatures are stall factors. If the cellular signal is greater than athreshold in view of the buildings and/or surrounding environmentalfeatures, the aforementioned elements are not risk factors. In oneconfiguration, a customer cannot override or ignore considerations ofwhether a particular route may include a stall factor.

Additionally, the distance to the destination may be used to predict alikelihood of the driver enabling the manual mode. In some locations,such as, for example, a residential area or an office parking lot, thedriver may prefer to manually operate the vehicle. That is, it may beeasier to navigate through a parking lot to find a preferred spot whileoperating the vehicle in a manual mode in comparison to an autonomousmode. Thus, if the distance to the destination is less than a threshold,the driving condition system may predict that it is likely for thedriver to enable the manual mode.

The factors discussed above may be considered as a whole to determine avalue for the likelihood of manual operation. Different factors mayreceive different weights. For example, the driver's known preferencemay be weighed greater than a low cellular signal. The determined valuemay be compared to a threshold. If the value is greater than thethreshold, the driving condition system determines that manual operationis likely. If the value is less than the threshold, the drivingcondition system determines that the manual operation is not likely.

In one configuration, the driving condition system may limit theprediction to a certain time period (e.g., five minutes) from thecurrent time. Limiting the prediction to a time period may improve anaccuracy of the prediction. That is, as the time period extends, thereis an increased likelihood for unforeseen factors to cause the driver toenable manual operation. Limiting the likelihood of unforeseen factorsincreases the accuracy of the predictions.

As shown in FIG. 2, if manual operation is likely, the driving conditionsystem enables a driving condition component (e.g., windshield wipers,window defroster) to mitigate the current conditions (block 210). Thedriving condition component may be enabled until the current conditionsare resolved and/or until potential conditions are resolved. Manualoperation cannot be enabled until the current conditions are resolved(e.g., the windshield is cleared). If manual operation is not likely,the driving condition system continues to monitor the current conditions(block 206). The driving condition system may monitor the currentconditions according to an interval. Alternatively, the drivingcondition system may continuously monitor the current conditions.

Aspects of the present disclosure are directed to mitigating unsafedriving conditions prior to enabling a manual mode. In oneconfiguration, the manual mode cannot be enabled until the unsafedriving conditions are resolved. As previously discussed, the drivingcondition system may predict when a driver will enable the manual mode.Still, in some cases, the prediction may not be accurate or the driverenables manual mode on a whim.

Upon receiving an input to enable manual mode, the driving conditionsystem assesses the current conditions (e.g., weather, window status,etc.). If the current conditions are unsafe for manual operation, thedriving condition system may notify the driver that manual operationcannot be performed until the current conditions are resolved.Furthermore, the driving condition system enables a driving conditioncomponent to resolve the current conditions. For example, the drivingcondition system enables a window defroster to clear a foggy windshield.Upon determining that the current conditions are resolved, the drivingcondition system may enable the manual mode. Alternatively, the drivingcondition system notifies the driver that the manual mode may beenabled.

FIG. 3 illustrates an example of enabling a driving condition componentbased on a predicted manual operation according to aspects of thepresent disclosure. As shown in FIG. 3, a vehicle 304 may start a route302 in an area 300. A driving condition system may be aware of an entireroute 302 or a portion of the route 302. In this example, a portion ofthe area 300 includes rain 306.

Furthermore, the area 300 includes an outdated map section 308. Theoutdated map section 308 refers to a portion of the area 300 where atime since a last map update is greater than a threshold. The outdatedmap section 308 may also refer to an area without map information, suchas an area with private roads. The vehicle 304 may have difficultiesnavigating through the outdated map section 308 in an autonomous mode.In one configuration, prior to entering the outdated map section 308,the vehicle 304 warns the driver of the potential stall, such that thedriver may enable the manual mode. In another configuration, prior toentering the outdated map section 308, the vehicle 304 warns the driverthat the manual mode will be enabled within a certain time period.

In this example, the vehicle 304 may be an MAAS vehicle that receives areservation from a customer requesting to be dropped off at an office310. Alternatively, the vehicle 304 may be a personal vehicle and thedriver has entered the office 310 as the destination. In both cases, thevehicle 304 is intended to autonomously navigate the route 302. Uponreceiving the destination, the vehicle 304 (e.g., the vehicle's 304navigation system) determines the route 302 to the office 310.

In one configuration, prior to navigating the route 302, the drivingcondition system determines that there is rain 306 on a portion of theroute 302. As such, due to the rain 306 (e.g., stall factor), there is apotential for stalling on the route 302. The rain 306 may cause sensorfailure due to the wet conditions. The driving condition system may alsodetermine if the amount of rain 306 is greater than a threshold. In thepresent example, the rain 306 is less than the threshold, therefore, thestall factor is negligible. As such, the rain 306 does not increase alikelihood for manual operation.

Still, because the rain 306 may cause unsafe driving conditions duringmanual operation, the driving condition system determines if otherfactors may increase or cause a likelihood of manual operation (e.g.,enabling a manual mode) during the portion of the route 302 with rain306. In this example, the area of rain 306 overlaps with the outdatedmap section 308. As such, the likelihood of manual operation is greaterthan a threshold because the vehicle 304 may have difficultiesnavigating the outdated map section 308 in an autonomous mode.Therefore, prior to entering the outdated map section 308, the drivingcondition system enables a driving condition component (e.g., windshieldwipers) to clear the windshield.

In another configuration, the driving condition system determinescurrent conditions after the vehicle 304 begins operating in theautonomous mode. In this configuration, when the vehicle 304 startsnavigating the route 302, the driving condition system monitors thecurrent conditions at an interval. In this example, the drivingcondition system detects rain 306 at the start of the route 302.

Upon detecting the rain 306, the driving condition system may determinea duration of the rain 306. The driving condition system may alsopredict if a driver will enable the manual mode during a portion of theroute 302 with rain 306. As discussed, the area of rain 306 overlapswith the outdated map section 308. As such, the driving condition systempredicts the driver will enable the manual mode at, or prior to,entering the outdated map section 308. Therefore, prior to entering theoutdated map section 308, the driving condition system enables a drivingcondition component (e.g., windshield wipers) to clear the windshield.

In one configuration, the driving condition system disables the drivingcondition component after the condition has ended or after the conditionhas been resolved. For example, a window defroster may be disabled whenthe windows have been cleared. As another example, the windshield wipersmay be disabled when the rain 306 stops or when the vehicle 304 leavesthe area with the rain 306.

In another configuration, if the condition persists, the drivingcondition system disables the driving condition component when thevehicle 304 enters the autonomous mode. For example, upon entering theoutdated map section 308, the driver or the driving component system maydetermine that the map is up-to-date and enable the autonomous mode. Inthis example, the vehicle 304 may still be in an area with rain 306,however, the driving condition component (e.g., windshield wipers) isdisabled because the vehicle 304 is in the autonomous mode.

In yet another configuration, after navigating through the outdated mapsection 308, the vehicle 304 may re-enable the autonomous mode. Theautonomous mode may be re-enabled based on a user input. Alternatively,the autonomous mode may be re-enabled when the vehicle 304 determinesthat it is no longer in an area with a stall factor. While the vehicle304 is in the autonomous mode, the driver may enable the manual mode viaa user input. The manual mode may be enabled based on the driver'sdesire to personally drive the vehicle 304.

In response to the user input to enable the manual mode, the drivingcondition system determines the current conditions. In the example ofFIG. 3, the route 302 includes a potential fogging area 314. That is,the windows may not be fogged, yet, there is an increased potential forfogging. The window of the vehicle may fog when the external temperatureis warmer than the internal temperature, or vice versa. The differencein temperature and the relative humidity of the exterior or interior ofthe vehicle may cause the windows to fog. The driving condition systemdetermines the potential fogging area 314 by measuring internal andexternal temperature as well as internal and external humidity. Prior toentering the potential fogging area 314, the humidity and temperaturemay be obtained from an external source, such as the Internet.

In this example, if the driver enables the manual mode prior to, orwhile, the vehicle 304 navigates through the potential fogging area 314,the driving condition system prevents manual operation until theconditions are checked. The driving condition system may analyze thewindows to determine if they are clear. The analysis may be performedwith a vision sensor and/or a moisture sensor.

If the windows are clear, the driving condition system may allow thedriver to proceed with the manual operation while the driving conditioncomponents are disabled. In another configuration, the windows may beclear, still, there may be potential cabin conditions (e.g., a potentialfor foggy windows). In this configuration, the driving condition systemallows the driver to proceed with the manual operation after the windowdefrosters are enabled to prevent the anticipated window fogging.

In yet another configuration, if the windows are foggy, the drivingcondition system enables the window defrosters. In this example, thedriving condition system allows the driver to proceed with the manualoperation after the windows are cleared. The window defrosters mayremain enabled until the vehicle leaves the potential fogging area 314,after the interior temperature is similar to the exterior temperature(e.g., there is no longer a potential for fogging), or after the windowsare clear.

The driving condition components are not limited to windshield wipersand window defrosters. The driving condition components may includeother components, such as the heater/cooler, headlight washers,sunshades, etc. For example, in addition to enabling the windowdefroster when the windows are foggy, the driving condition system mayalso enable the heater or cooler to adjust the internal temperature toprevent future fogging.

FIG. 4 is a diagram illustrating an example of a hardware implementationfor a driving condition component adjustment system 400, according toaspects of the present disclosure. The driving condition componentadjustment system 400 may be a component of a vehicle, a robotic device,or other device. For example, as shown in FIG. 4, the driving conditioncomponent adjustment system 400 is a component of a vehicle 428. Thevehicle 428 may be an MAAS vehicle or a personal use vehicle. Aspects ofthe present disclosure are not limited to the driving conditioncomponent adjustment system 400 being a component of the vehicle 428, asother devices, such as a bus, boat, drone, or robot, are alsocontemplated for using the driving condition component adjustment system400. The vehicle 428 may be autonomous or semi-autonomous. Furthermore,the vehicle 428 may be an electric vehicle, a hybrid vehicle, a fuelvehicle, or other type of vehicle.

The driving condition component adjustment system 400 may be implementedwith a bus architecture, represented generally by a bus 440. The bus 440may include any number of interconnecting buses and bridges depending onthe specific application of the driving condition component adjustmentsystem 400 and the overall design constraints. The bus 440 linkstogether various circuits including one or more processors and/orhardware modules, represented by a processor 420, a communication module422, a location module 418, a sensor module 402, a locomotion module426, a navigation module 424, and a computer-readable medium 414. Thebus 440 may also link various other circuits such as timing sources,peripherals, voltage regulators, and power management circuits, whichare well known in the art, and therefore, will not be described anyfurther.

The driving condition component adjustment system 400 includes atransceiver 416 coupled to the processor 420, the sensor module 402, adriving condition module 408, the communication module 422, the locationmodule 418, the locomotion module 426, the navigation module 424, andthe computer-readable medium 414. The transceiver 416 is coupled to anantenna 444. The transceiver 416 communicates with various other devicesover a transmission medium. For example, the transceiver 416 may receivecommands via transmissions from a user or a remote device. As anotherexample, the transceiver 416 may transmit driving statistics andinformation from the driving condition module 408 to a server (notshown).

The driving condition component adjustment system 400 includes theprocessor 420 coupled to the computer-readable medium 414. The processor420 performs processing, including the execution of software stored onthe computer-readable medium 414 providing functionality according tothe disclosure. The software, when executed by the processor 420, causesthe driving condition component adjustment system 400 to perform thevarious functions described for a particular device, such as the vehicle428, or any of the modules 402, 408, 414, 416, 418, 420, 422, 424, 426.The computer-readable medium 414 may also be used for storing data thatis manipulated by the processor 420 when executing the software.

The sensor module 402 may be used to obtain measurements via differentsensors, such as a first sensor 406 and a second sensor 404. The firstsensor 406 may be an internal vision sensor, such as a stereoscopiccamera or a red-green-blue (RGB) camera, for capturing 2D images. Thefirst sensor 406 may be used to determine environmental conditions(e.g., rain) or cabin conditions (e.g., foggy windshield). The firstsensor 406 may also be an internal climate sensor used for determininginternal temperature and/or humidity. The second sensor 404 may be anexternal climate sensor used for determining temperature, humidity,and/or other climate components. Of course, aspects of the presentdisclosure are not limited to the aforementioned sensors as other typesof sensors, such as, for example, LIDAR, RADAR, sonar, and/or lasers arealso contemplated for either of the sensors 404, 406. Furthermore,additional internal and/or external sensors may be specified. Forexample, a water sensor may be defined on the windshield.

The measurements of the first sensor 406 and the second sensor 404 maybe processed by one or more of the processor 420, the sensor module 402,the driving condition module 408, the communication module 422, thelocation module 418, the locomotion module 426, the navigation module424, in conjunction with the computer-readable medium 414 to implementthe functionality described herein. In one configuration, the datacaptured by the first sensor 406 and the second sensor 404 may betransmitted to an external device via the transceiver 416. The firstsensor 406 and the second sensor 404 may be coupled to the vehicle 428or may be in communication with the vehicle 428.

The location module 418 may be used to determine a location of thevehicle 428. For example, the location module 418 may use a globalpositioning system (GPS) to determine the location of the vehicle 428.The communication module 422 may be used to facilitate communicationsvia the transceiver 416. For example, the communication module 422 maybe configured to provide communication capabilities via differentwireless protocols, such as WiFi, long term evolution (LTE), 4G, etc.The communication module 422 may also be used to communicate with othercomponents of the vehicle 428 that are not modules of the drivingcondition component adjustment system 400.

The locomotion module 426 may be used to facilitate locomotion of thevehicle 428. As an example, the locomotion module 426 may controlmovement of the wheels. As another example, the locomotion module 426may be in communication with a power source of the vehicle 428, such asan engine or batteries. Of course, aspects of the present disclosure arenot limited to providing locomotion via wheels and are contemplated forother types of components for providing locomotion, such as propellers,treads, fins, and/or jet engines.

The driving condition component adjustment system 400 also includes thenavigation module 424 for planning a route or controlling the locomotionof the vehicle 428, via the locomotion module 426. A route may beplanned to a passenger based on compartment data provided via thedriving condition module 408. In one configuration, the navigationmodule 424 overrides the user input when the user input is expected(e.g., predicted) to cause a collision. The modules may be softwaremodules running in the processor 420, resident/stored in thecomputer-readable medium 414, one or more hardware modules coupled tothe processor 420, or some combination thereof.

The driving condition module 408 may be in communication with the sensormodule 402, the transceiver 416, the processor 420, the communicationmodule 422, the location module 418, the locomotion module 426, thenavigation module 424, and the computer-readable medium 414. In oneconfiguration, the driving condition module 408 receives sensor datafrom the sensor module 402. The sensor module 402 may receive the sensordata from the first sensor 406 and the second sensor 404. According toaspects of the present disclosure, the sensor module 402 may filter thedata to remove noise, encode the data, decode the data, merge the data,extract frames, or perform other functions. In an alternateconfiguration, the driving condition module 408 may receive sensor datadirectly from the first sensor 406 and the second sensor 404.

In one configuration, the driving condition module 408 determines thecurrent conditions based on information from the sensors 404, 406, theprocessor 420, the location module 418, the transceiver 416, thecommunication module 422, and/or the computer-readable medium 414. Forexample, the first sensor 406 may provide internal temperature and/orhumidity. The second sensor 404 may provide external temperature and/orhumidity. Additionally, the processor 420 and/or the computer-readablemedium 414 may provide the status of comfort components and drivingcondition components, such as fan speed, air direction, seatheater/cooler, as well as other information, such as battery or gaslevels. The location module 418 may provide the vehicle's 428 currentlocation to the driving condition module 408. The transceiver 416 and/orthe communication module 422 may be used to receive weather informationfrom an external source, such as the Internet. The driving conditionmodule 408 may determine a duration of the current conditions based oninformation obtained from the external source.

If the current conditions are likely to impair manual operation of thevehicle 428, the driving condition module 408 predicts a likelihood ofthe driver enabling a manual mode during the current conditions. Thedetermination may be based on passenger information (e.g., driverinformation) obtained via the transceiver 416, the communication module422, and/or the computer-readable medium 414. For example, the passengerinformation may be received from an external source when the passengerreserves the vehicle 428.

Additionally, the driving condition module 408 may predict thelikelihood of the driver enabling the manual mode based on a potentialfor stalling along a route. The stall factor(s) may be determined byinformation obtained from an external source, such as the Internet, thetransceiver 416, sensor data obtained from the sensor module 402, and/ormap and environment data stored in the computer-readable medium 414and/or a memory (not shown). For example, the driving condition module408 may determine backlight conditions at intersections, the vehicle's428 direction at intersections, the positions of traffic lights, thearrival time at intersections, the position of the sun, weather at theintersections, building information, as well as other factors.

If the driver is likely to enable the manual mode, the driving conditionmodule 408 enables one or more driving condition components via theprocessor 420 and/or the computer-readable medium 414. The drivingcondition component may be selected based on detected conditions. Upondetecting that the conditions have been mitigated, the driving conditionmodule 408 disables one or more driving condition components via theprocessor 420 and/or the computer-readable medium 414.

According to aspects of the present disclosure, the driving conditionmodule 408 may be configured for determining whether current conditionswould limit a driver's visibility, predicting whether the driver willenable a manual mode during the current conditions, and controlling thedriving condition component to mitigate the current conditions prior tothe driver enabling the manual mode. The driving condition module 408may also be configured for predicting whether the driver will enable themanual mode based on a potential for stalling on a current route, aproximity of the autonomous vehicle to the driver's destination, areservation status, and/or driver information. The driving conditionmodule 408 may further be configured for determining the currentconditions based on one or more of an internal climate sensor, anexternal climate sensor, weather data, an internal vision sensor, and/oran external vision sensor. The driving condition module 408 may furtheryet be configured for disabling the driving condition component aftermitigating the current condition.

FIG. 5 illustrates a flow diagram 500 for controlling a drivingcondition component according to aspects of the present disclosure. Asshown in FIG. 5, at block 502 a driving condition component adjustmentsystem determines whether current conditions would limit a driver'svisibility. The current conditions may be determined based an internalclimate sensor, an external climate sensor, weather data, an internalvision sensor, an external vision sensor, and/or another sensor.Examples of conditions that limit the driver's visibility include, butare not limited to, rain, snow, and/or foggy windows.

At block 504, the driving condition component adjustment system predictswhether the driver will enable a manual mode during the currentconditions. The manual mode may be enabled to override autonomousoperation. The manual mode refers to a mode where the driver operatesthe vehicle. The prediction may be based on a potential for stalling ona current route, a proximity of the autonomous vehicle to the driver'sdestination, a reservation status, driver information, and/or anothercondition.

At block 506, the driving condition component adjustment system controls(e.g., activates) the driving condition component to mitigate thecurrent conditions prior to the driver enabling the manual mode.Specifically, the driving condition component may mitigate the currentconditions prior to, or during, manual operation. The driving conditioncomponent may include a window defroster, a heater, a cooler, and/or awindshield wiper. In an optional configuration, after the currentconditions are mitigated, the driving condition component adjustmentsystem deactivates the driving condition component. In oneconfiguration, mitigating the current conditions refers to clearing awindshield of the autonomous vehicle.

Based on the teachings, one skilled in the art should appreciate thatthe scope of the present disclosure is intended to cover any aspect ofthe present disclosure, whether implemented independently of or combinedwith any other aspect of the present disclosure. For example, anapparatus may be implemented or a method may be practiced using anynumber of the aspects set forth. In addition, the scope of the presentdisclosure is intended to cover such an apparatus or method practicedusing other structure, functionality, or structure and functionality inaddition to, or other than the various aspects of the present disclosureset forth. It should be understood that any aspect of the presentdisclosure may be embodied by one or more elements of a claim.

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any aspect described herein as “exemplary”is not necessarily to be construed as preferred or advantageous overother aspects.

Although particular aspects are described herein, many variations andpermutations of these aspects fall within the scope of the presentdisclosure. Although some benefits and advantages of the preferredaspects are mentioned, the scope of the present disclosure is notintended to be limited to particular benefits, uses or objectives.Rather, aspects of the present disclosure are intended to be broadlyapplicable to different technologies, system configurations, networksand protocols, some of which are illustrated by way of example in thefigures and in the following description of the preferred aspects. Thedetailed description and drawings are merely illustrative of the presentdisclosure rather than limiting, the scope of the present disclosurebeing defined by the appended claims and equivalents thereof.

As used herein, the term “determining” encompasses a wide variety ofactions. For example, “determining” may include calculating, computing,processing, deriving, investigating, looking up (e.g., looking up in atable, a database or another data structure), ascertaining and the like.Additionally, “determining” may include receiving (e.g., receivinginformation), accessing (e.g., accessing data in a memory) and the like.Furthermore, “determining” may include resolving, selecting, choosing,establishing, and the like.

As used herein, a phrase referring to “at least one of” a list of itemsrefers to any combination of those items, including single members. Asan example, “at least one of: a, b, or c” is intended to cover: a, b, c,a-b, a-c, b-c, and a-b-c.

The various illustrative logical blocks, modules and circuits describedin connection with the present disclosure may be implemented orperformed with a processor specially configured to perform the functionsdiscussed in the present disclosure. The processor may be a neuralnetwork processor, a digital signal processor (DSP), an applicationspecific integrated circuit (ASIC), a field programmable gate arraysignal (FPGA) or other programmable logic device (PLD), discrete gate ortransistor logic, discrete hardware components or any combinationthereof designed to perform the functions described herein.Alternatively, the processing system may comprise one or moreneuromorphic processors for implementing the neuron models and models ofneural systems described herein. The processor may be a microprocessor,controller, microcontroller, or state machine specially configured asdescribed herein. A processor may also be implemented as a combinationof computing devices, e.g., a combination of a DSP and a microprocessor,a plurality of microprocessors, one or more microprocessors inconjunction with a DSP core, or such other special configuration, asdescribed herein.

The steps of a method or algorithm described in connection with thepresent disclosure may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in storage or machine readable medium,including random access memory (RAM), read only memory (ROM), flashmemory, erasable programmable read-only memory (EPROM), electricallyerasable programmable read-only memory (EEPROM), registers, a hard disk,a removable disk, a CD-ROM or other optical disk storage, magnetic diskstorage or other magnetic storage devices, or any other medium that canbe used to carry or store desired program code in the form ofinstructions or data structures and that can be accessed by a computer.A software module may comprise a single instruction, or manyinstructions, and may be distributed over several different codesegments, among different programs, and across multiple storage media. Astorage medium may be coupled to a processor such that the processor canread information from, and write information to, the storage medium. Inthe alternative, the storage medium may be integral to the processor.

The methods disclosed herein comprise one or more steps or actions forachieving the described method. The method steps and/or actions may beinterchanged with one another without departing from the scope of theclaims. In other words, unless a specific order of steps or actions isspecified, the order and/or use of specific steps and/or actions may bemodified without departing from the scope of the claims.

The functions described may be implemented in hardware, software,firmware, or any combination thereof. If implemented in hardware, anexample hardware configuration may comprise a processing system in adevice. The processing system may be implemented with a busarchitecture. The bus may include any number of interconnecting busesand bridges depending on the specific application of the processingsystem and the overall design constraints. The bus may link togethervarious circuits including a processor, machine-readable media, and abus interface. The bus interface may be used to connect a networkadapter, among other things, to the processing system via the bus. Thenetwork adapter may be used to implement signal processing functions.For certain aspects, a user interface (e.g., keypad, display, mouse,joystick, etc.) may also be connected to the bus. The bus may also linkvarious other circuits such as timing sources, peripherals, voltageregulators, power management circuits, and the like, which are wellknown in the art, and therefore, will not be described any further.

The processor may be responsible for managing the bus and processing,including the execution of software stored on the machine-readablemedia. Software shall be construed to mean instructions, data, or anycombination thereof, whether referred to as software, firmware,middleware, microcode, hardware description language, or otherwise.

In a hardware implementation, the machine-readable media may be part ofthe processing system separate from the processor. However, as thoseskilled in the art will readily appreciate, the machine-readable media,or any portion thereof, may be external to the processing system. By wayof example, the machine-readable media may include a transmission line,a carrier wave modulated by data, and/or a computer product separatefrom the device, all which may be accessed by the processor through thebus interface. Alternatively, or in addition, the machine-readablemedia, or any portion thereof, may be integrated into the processor,such as the case may be with cache and/or specialized register files.Although the various components discussed may be described as having aspecific location, such as a local component, they may also beconfigured in various ways, such as certain components being configuredas part of a distributed computing system.

The machine-readable media may comprise a number of software modules.The software modules may include a transmission module and a receivingmodule. Each software module may reside in a single storage device or bedistributed across multiple storage devices. By way of example, asoftware module may be loaded into RAM from a hard drive when atriggering event occurs. During execution of the software module, theprocessor may load some of the instructions into cache to increaseaccess speed. One or more cache lines may then be loaded into a specialpurpose register file for execution by the processor. When referring tothe functionality of a software module below, it will be understood thatsuch functionality is implemented by the processor when executinginstructions from that software module. Furthermore, it should beappreciated that aspects of the present disclosure result inimprovements to the functioning of the processor, computer, machine, orother system implementing such aspects.

If implemented in software, the functions may be stored or transmittedover as one or more instructions or code on a computer-readable medium.Computer-readable media include both computer storage media andcommunication media including any storage medium that facilitatestransfer of a computer program from one place to another.

Further, it should be appreciated that modules and/or other appropriatemeans for performing the methods and techniques described herein can bedownloaded and/or otherwise obtained by a user terminal and/or basestation as applicable. For example, such a device can be coupled to aserver to facilitate the transfer of means for performing the methodsdescribed herein. Alternatively, various methods described herein can beprovided via storage means, such that a user terminal and/or basestation can obtain the various methods upon coupling or providing thestorage means to the device. Moreover, any other suitable technique forproviding the methods and techniques described herein to a device can beutilized.

It is to be understood that the claims are not limited to the preciseconfiguration and components illustrated above. Various modifications,changes, and variations may be made in the arrangement, operation, anddetails of the methods and apparatus described above without departingfrom the scope of the claims.

What is claimed is:
 1. A method for controlling a driving conditioncomponent of a vehicle, comprising: enabling an autonomous mode for thevehicle; disabling automatic operation of the driving conditioncomponent based on a current condition in response to enabling theautonomous mode; determining, while the vehicle is operating in theautonomous mode, the current condition limits visibility for a humanoccupant of the vehicle; predicting the human occupant will enable amanual mode during the current condition; and enabling the drivingcondition component to mitigate the current condition prior to the humanoccupant switching from the autonomous mode to the manual mode.
 2. Themethod of claim 1, further comprising predicting the human occupant willenable the manual mode based on at least one of a potential for stallingon a current route, a proximity of the vehicle to a destination, areservation status, human occupant information, or a combinationthereof.
 3. The method of claim 1, further comprising determining thecurrent condition based on at least one of an internal climate sensor,an external climate sensor, weather data, an internal vision sensor, anexternal vision sensor, or a combination thereof.
 4. The method of claim1, in which the current condition comprises at least one of rain, snow,foggy windows, or a combination thereof.
 5. The method of claim 1, inwhich the driving condition component comprises a window defroster, aheater, a cooler, or a windshield wiper.
 6. The method of claim 1,further comprising deactivating the driving condition component aftermitigating the current condition.
 7. The method of claim 1, in whichmitigating the current condition comprises clearing a windshield of thevehicle.
 8. An apparatus for controlling a driving condition componentof a vehicle, the apparatus comprising: a memory; and at least oneprocessor coupled to the memory, the at least one processor configured:to enable an autonomous mode for the vehicle; to disable automaticoperation of the driving condition component based on a currentcondition in response to enabling the autonomous mode; to determine,while the vehicle is operating in the autonomous mode, the currentcondition limits visibility for a human occupant of the vehicle; topredict the human occupant will enable a manual mode during the currentconditions; and to enable the driving condition component to mitigatethe current conditions prior to the human occupant switching from theautonomous mode to the manual mode.
 9. The apparatus of claim 8, inwhich the at least one processor is further configured to predictwhether the human occupant will enable the manual mode based on at leastone of a potential for stalling on a current route, a proximity of thevehicle to a destination, a reservation status, human occupantinformation, or a combination thereof.
 10. The apparatus of claim 8, inwhich the at least one processor is further configured to determine thecurrent condition based on at least one of an internal climate sensor,an external climate sensor, weather data, an internal vision sensor, anexternal vision sensor, or a combination thereof.
 11. The apparatus ofclaim 8, in which the current condition comprises at least one of rain,snow, foggy windows, or a combination thereof.
 12. The apparatus ofclaim 8, in which the driving condition component comprises a windowdefroster, a heater, a cooler, or a windshield wiper.
 13. The apparatusof claim 8, in which the at least one processor is further configured todeactivate the driving condition component after mitigating the currentcondition.
 14. The apparatus of claim 8, in which mitigating the currentcondition comprises clearing a windshield of the vehicle.
 15. Anon-transitory computer-readable medium having program code recordedthereon for controlling a driving condition component of a vehicle, theprogram code executed by a processor and comprising: program code toenable an autonomous mode for the vehicle; program code to disableautomatic operation of the driving condition component based on acurrent condition in response to enabling the autonomous mode; programcode to determine, while the vehicle is operating in the autonomousmode, the current condition limits visibility for a human occupant ofthe vehicle; program code to predict the human occupant will enable amanual mode during the current condition; and program code to enable thedriving condition component to mitigate the current condition prior tothe human occupant switching from the autonomous mode to the manualmode.
 16. The non-transitory computer-readable medium of claim 15, inwhich the at least one processor is further configured to predictwhether the human occupant will enable the manual mode based on at leastone of a potential for stalling on a current route, a proximity of thevehicle to a destination, a reservation status, human occupantinformation, or a combination thereof.
 17. The non-transitorycomputer-readable medium of claim 15, in which the at least oneprocessor is further configured to determine the current condition basedon at least one of an internal climate sensor, an external climatesensor, weather data, an internal vision sensor, an external visionsensor, or a combination thereof.
 18. The non-transitorycomputer-readable medium of claim 15, in which the current conditioncomprises at least one of rain, snow, foggy windows, or a combinationthereof.
 19. The non-transitory computer-readable medium of claim 15, inwhich the driving condition component comprises a window defroster, aheater, a cooler, or a windshield wiper.
 20. The non-transitorycomputer-readable medium of claim 15, in which the at least oneprocessor is further configured to deactivate the driving conditioncomponent after mitigating the current condition.